home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 11 / Tiger_Disk_011_19xx_Tiger-Crew-Disk_de_Side_B.d64 / 64 tester (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  248 lines

  1. 10 print"[147]":poke53280,0:poke53281,0
  2. 20 printspc(174)"[169][146][158][169]   [156][169][146][169][159] [146]     [146][169]"
  3. 30 printspc(13)"[169][146][129][169]   [153][169][146][156][169] [159] [146]    [146][169]"
  4. 40 printspc(13)" [129] [158] [223][146] [153] [156]  [159] [146]"
  5. 50 printspc(13)" [146]   [146]    [159] [146]    [223][146]"
  6. 60 printspc(13)"[223][129] [158] [146][169]    [159] [146]     [223][146]"
  7. 70 printspc(87)"     [146]       [146]  [169]   [223][146]       [146]"
  8. 80 printspc(9)" [146]     [146]       [146]         [146]"
  9. 90 printspc(9)" [146]       [146]    [223]   [223][146]     [146]"
  10. 100 printspc(9)" [146]     [146]           [146]     [146]"
  11. 110 printspc(9)" [146]         [146]  [223]   [146][169]     [146]"
  12. 120 printspc(92)"[154]by  the compucats"
  13. 130 rem ***********************
  14. 140 rem ** c-64 test program **
  15. 150 rem ** by the compucats  **
  16. 160 rem ** aberdeen md 21001 **
  17. 170 rem ***********************
  18. 180 rem *** sprite position data ***
  19. 190 data 78,80,135,80,193,80,250,80
  20. 200 data 78,150,135,150,193,150,250,150
  21. 210 rem ****** paddle ml data *******
  22. 220 data162,1,120,173,2,220,141,0,193,169,192,141,2,220,169,128,141,0,220
  23. 230 data160,128,234,136,16,252,173,25,212,157,1,193,173,26,212,157,3,193,173,0
  24. 240 data220,9,128,141,5,193,169,64,202,16,222,173,0,193,141,2,220,173,1
  25. 250 data220,141,6,193,88,96
  26. 260 rem ****** user ram ml data *******
  27. 270 data169,0,133,251,133,253,169,8,133,252,169,194,133,254,162,152,160,0
  28. 280 data177,251,145,253,200,208,249,230,252,202,208,244,96
  29. 290 rem ****** set up ml routines *******
  30. 300 fori=0to15:reada%:next:dima(6)
  31. 310 fori=0to63:reada%:poke49152+i,a%:next
  32. 320 fori=0to30:reada%:poke50176+i,a%:next
  33. 330 rem *** title screen ***
  34. 340 fort=1to3000:next
  35. 350 rem ******** main menu ********
  36. 360 poke53280,0:poke53281,0:print"[147]"
  37. 370 printtab(12)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  38. 380 printtab(8)"****  enter number  [146]****"
  39. 390 printtab(12)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  40. 400 print
  41. 410 printtab(9)"[209] (1)  sprites"
  42. 420 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  43. 430 printtab(9)"[209] (2)  joysticks"
  44. 440 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  45. 450 printtab(9)"[209] (3)  paddles"
  46. 460 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  47. 470 printtab(9)"[209] (4)  user ram"
  48. 480 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  49. 490 printtab(9)"[209] (5)  sid (sound)"
  50. 500 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  51. 510 printtab(9)"[209] (6)  basic rom"
  52. 520 printtab(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  53. 530 b=0:a$="":fori=1to13step2:a(b)=i:b=b+1:next
  54. 540 print""
  55. 550 r=int(rnd(0)*6+1):b=int(rnd(1)*10+2)
  56. 560 printleft$(a$,a(r));
  57. 570 poke646,b:printtab(9);"[209]":fort=1to500:next:geti$:ifi$<>""then590
  58. 580 goto540
  59. 590 i=val(i$)
  60. 600 if i<1ori>6 then540
  61. 610 onigoto630,1730,2080,2250,990,1240
  62. 620 rem ******** sprite check *********
  63. 630 poke53280,0:poke53281,0:poke646,14
  64. 640 print"[147]"
  65. 650 forx=12288to12352step2:pokex,255:next
  66. 660 forx=12289to12351step2:pokex,60:next
  67. 670 restore:forx=0to7:readx1(x),y1(x):next
  68. 680 sp=53248:pokesp+21,0:pokesp+23,0:pokesp+29,0
  69. 690 forx2=0to7:poke2040+x2,192:next
  70. 700 forx3=0to7:poke2*x3+sp,x1(x3):poke2*x3+1+sp,y1(x3)+20:pokesp+39+x3,x3+1:next
  71. 710 pokesp+21,255
  72. 720 print"[147]"tab(8)"1"tab(15)"2"tab(22)"3"tab(29)"4"
  73. 730 print""tab(8)"5"tab(15)"6"tab(22)"7"tab(29)"8"
  74. 740 forn=0to7:forxy=19to1step-1:pokesp+n*2+1,y1(n)+xy:next:next
  75. 750 forx=1to4:forn=0to7:on x gosub780,790,800,810
  76. 760 next:next:goto820
  77. 770 stop
  78. 780 forxy=1to20:pokesp+n*2,x1(n)-xy:next:return
  79. 790 forxy=1to20:pokesp+n*2+1,y1(n)-xy:next:return
  80. 800 forxy=20 to 1 step-1:pokesp+n*2,x1(n)-xy:next:return
  81. 810 forxy=20to1step-1:pokesp+n*2+1,y1(n)-xy:next:return
  82. 820 forx=0to15:fory=0to7:pokesp+39+y,x:next:fort=1to400:next:next
  83. 830 forx=0to7:pokesp+39+x,x+1:next
  84. 840 forn=0to7:pokesp+23,int(2^n):fort=1to400:next:next:pokesp+23,0
  85. 850 forn=0to7:pokesp+29,int(2^n):fort=1to400:next:next:pokesp+29,0
  86. 860 print"   which sprite? (1-8 : 0 to return)"
  87. 870 geta$:ifa$=""then870
  88. 880 gosub930
  89. 890 forx=1to4:onxgosub780,790,800,810:next
  90. 900 goto870
  91. 910 pokes+21,0:print"[147]":end
  92. 920 geta$:ifa$=""then920
  93. 930 a=asc(a$):ifa<48ora>56then920
  94. 940 ifa=48then970
  95. 950 n=val(a$)-1
  96. 960 return
  97. 970 print"[147]":pokesp+21,0:goto360
  98. 980 rem ******** sid    check *********
  99. 990 print"[147]":printspc(93)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  100. 1000 printtab(10)"*** sid sound test [146]***"
  101. 1010 printtab(13)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  102. 1020 ff=1
  103. 1030 v=54272:forl=vtov+24:pokel,0:next:fort=0to2:k=t*7
  104. 1040 pokev+5+k,88:pokev+6+k,195:forwa=1to4:ifwa=1thenw=17
  105. 1050 ifwa=2thenw=33
  106. 1060 ifwa=3thenw=65
  107. 1070 ifwa=4thenw=129
  108. 1080 pokev+24,15:pokev+2+k,255:pokev+4+k,w
  109. 1090 print""tab(12)"[154]voice [153]"t+1:printspc(92)"[154]waveform: [156]";
  110. 1100 ifwa=1thenprint"triangle   "
  111. 1110 ifwa=2thenprint"sawtooth   "
  112. 1120 ifwa=3thenprint"pulse      "
  113. 1130 ifwa=4thenprint"white noise"
  114. 1140 print"":forhi=1to255 step2
  115. 1150 pokev+1+k,hi:printtab(12)"[145][154]high byte : "hi:next:pokev+4+k,0
  116. 1160 ift=2andwa=4then1180
  117. 1170 next:next
  118. 1180 print"[154]      if your sid is working"
  119. 1190 print"      you should have heard the"
  120. 1200 print"      sounds with all three voices."
  121. 1210 fort=1to5000:next
  122. 1220 goto360
  123. 1230 rem ******** basic rom check *********
  124. 1240 b3=0:print"[147]":printtab(13)"[159][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  125. 1250 printtab(10)"***[159] basic rom test [146]***"
  126. 1260 printtab(13)"[159][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  127. 1270 b1=40960
  128. 1280 print"[153]register being tested:"
  129. 1290 b2=peek(b1)
  130. 1300 print"[159]";b1
  131. 1310 b3=b3+b2
  132. 1320 ifb1=41300then1430
  133. 1330 ifb1=42000then1450
  134. 1340 ifb1=43000then1470
  135. 1350 ifb1=44000then1490
  136. 1360 ifb1=45000then1510
  137. 1370 ifb1=46000then1530
  138. 1380 ifb1=47000then1550
  139. 1390 ifb1=48000then1580
  140. 1400 ifb1=49151then1610
  141. 1410 b1=b1+1:goto1290
  142. 1420 b1=b1+1:goto1290
  143. 1430 ifb3=43099thenprintspc(46)"[156]part 1 - ok":goto1640
  144. 1440 goto1660
  145. 1450 ifb3=66906thenprintspc(86)"[156]part 2 - ok":goto1640
  146. 1460 goto1660
  147. 1470 ifb3=117669thenprintspc(126)"[156]part 3 - ok":goto1640
  148. 1480 goto1660
  149. 1490 ifb3=114311thenprintspc(166)"[156]part 4 - ok":goto1640
  150. 1500 goto1660
  151. 1510 ifb3=111749thenprintspc(206)"[156]part 5 - ok":goto1640
  152. 1520 goto1660
  153. 1530 ifb3=114547thenprintspc(246)"[156]part 6 - ok":goto1640
  154. 1540 goto1660
  155. 1550 print""
  156. 1560 ifb3=115993thenprinttab(6)"[156]part 7 - ok":goto1640
  157. 1570 goto1660
  158. 1580 print""
  159. 1590 ifb3=114241thenprinttab(6)"[156]part 8 - ok":goto1640
  160. 1600 goto1660
  161. 1610 print""
  162. 1620 ifb3=134691thenprinttab(6)"[156]part 9 - ok":goto1690
  163. 1630 goto1660
  164. 1640 b3=0:b1=b1+1:goto1290
  165. 1650 goto1290
  166. 1660 print"a problem exists in the rom             of this computer"
  167. 1670 fort=1to3000:next
  168. 1680 goto360
  169. 1690 print"[153]the basic rom checks ok"
  170. 1700 fort=1to2000:next
  171. 1710 goto360
  172. 1720 rem ******** joystick check *********
  173. 1730 print"[147]":printspc(93)"[153][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  174. 1740 printtab(10)"***[153] joystick check [146]***"
  175. 1750 printtab(13)"[153][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  176. 1760 printspc(128)"[154]press f1 to test port # 1"
  177. 1770 printspc(48)"press f3 to test port # 2"
  178. 1780 printspc(48)"press f7 to return"
  179. 1790 forx=12288to12352step2:pokex,127:next
  180. 1800 forx=12289to12351step2:pokex,254:next
  181. 1810 sp=53248:x=150:y=180:pokesp+21,1:pokesp+39,2
  182. 1820 poke2040,192:pokesp,x:pokesp+1,y
  183. 1830 ifaa=1thenjs=15-(peek(56321)and15)
  184. 1840 ifaa=5thenjs=15-(peek(56320)and15)
  185. 1850 ifjs=0then2020
  186. 1860 ifjs=1thendx=0:dy=-2:goto1940
  187. 1870 ifjs=2thendx=0:dy=2:goto1940
  188. 1880 ifjs=4thendx=-2:dy=0:goto1940
  189. 1890 ifjs=5thendx=-2:dy=-2:goto1940
  190. 1900 ifjs=6thendx=-2:dy=2:goto1940
  191. 1910 ifjs=8thendx=2:dy=0:goto1940
  192. 1920 ifjs=9thendx=2:dy=-2:goto1940
  193. 1930 ifjs=10thendx=2:dy=2:goto1940
  194. 1940 x=x+dx:y=y+dy
  195. 1950 ifx>255andpeek(sp+16)=0thenpokesp+16,1:x=0
  196. 1960 ifpeek(sp+16)=1andx<0thenpokesp+16,0:x=255
  197. 1970 ify>220theny=220
  198. 1980 ify<50theny=50
  199. 1990 ifx<40andpeek(sp+16)=0thenx=40
  200. 2000 ifx>50andpeek(sp+16)=1thenx=50
  201. 2010 pokesp,x:pokesp+1,y
  202. 2020 geta$
  203. 2030 ifa$=chr$(133)thenaa=1
  204. 2040 ifa$=chr$(134)thenaa=5
  205. 2050 ifa$=chr$(136)then970
  206. 2060 goto1830
  207. 2070 rem ******** paddle check **********
  208. 2080 print"[147]":printspc(93)"[156][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  209. 2090 printtab(10)"***[156]  paddle  test  [146]***"
  210. 2100 printtab(13)"[156][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  211. 2110 printspc(132)"[159]press f1 to return"
  212. 2120 cc=49152
  213. 2130 syscc
  214. 2140 p1=peek(cc+257):p2=peek(cc+258)
  215. 2150 p3=peek(cc+259):p4=peek(cc+260)
  216. 2160 s1=peek(cc+261):s2=peek(cc+262)
  217. 2170 print"[156]                 #1    #2    #3    #4"
  218. 2180 print"[153]   positions:   ";p1;" ";p2;" ";p3;" ";p4
  219. 2190 printspc(43)"fire status:    ";s1;"       ";s2
  220. 2200 fort=1to1000:next
  221. 2210 print"[145][145][145]                      "
  222. 2220 print"                  "
  223. 2230 geta$:ifa$=chr$(133)then360
  224. 2240 goto2130
  225. 2250 print"[147]":printspc(93)"[158][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  226. 2260 printtab(10)"***[158] user ram  test [146]***"
  227. 2270 printtab(13)"[158][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  228. 2280 printspc(127)"[154]f1 - user 38911 bytes check"
  229. 2290 printspc(87)"[153]f3 [192] decimal dump to screen"
  230. 2300 printspc(87)"[150]f7 [192] return"
  231. 2310 geta$:ifa$=""then2310
  232. 2320 ifa$=chr$(133)then2360
  233. 2330 ifa$=chr$(134)then2430
  234. 2340 ifa$=chr$(136)then360
  235. 2350 goto2310
  236. 2360 a=peek(40959):b=peek(40704)
  237. 2370 sys50176
  238. 2380 ifa=peek(49919)andb=peek(49664)then2400
  239. 2390 print"problem in high side of user ram":goto2410
  240. 2400 print"[156] user ram is ok"
  241. 2410 fort=1to3000:next
  242. 2420 goto2250
  243. 2430 print"[158] enter page # 8-159 ";:inputi$
  244. 2440 print"[147]":poke53281,1:i=val(i$):poke646,6
  245. 2450 forj=0to255:printpeek(i*256+j);" ";:next
  246. 2460 fori=0to4000:next
  247. 2470 poke53281,0:goto2250
  248.